package com.zhuss.meeting.db.dao.ext;

import java.util.List;

import com.zhuss.bean.bo.meeting.room.GetSituationBo;
import com.zhuss.bean.vo.meeting.apply.ListApplyStatusVo;
import com.zhuss.bean.vo.meeting.apply.RoomNameVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.zhuss.bean.bo.meeting.apply.SearchApplyBo;
import com.zhuss.bean.bo.meeting.apply.SearchCheckBo;
import com.zhuss.bean.vo.meeting.apply.DetailApplyVo;
import com.zhuss.bean.vo.meeting.apply.ListApplyVo;
import com.zhuss.meeting.db.dao.gen.MeetingApplyMapper;
import com.zhuss.meeting.db.entity.MeetingRoomApply;

@Mapper
public interface MeetingApplyDao extends MeetingApplyMapper {
	
	void create(MeetingRoomApply record);
	
	void delete(MeetingRoomApply record);
	
	List<ListApplyVo> list(SearchApplyBo bo);

	Integer countList(SearchApplyBo bo);

	List<ListApplyVo> listCheck(SearchCheckBo bo);

	Integer countListCheck(SearchCheckBo bo);

	List<ListApplyVo> listApproved(SearchCheckBo bo);

	Integer countListApproved(SearchCheckBo bo);

	DetailApplyVo detail(@Param("applyId") Long applyId);

	MeetingRoomApply applyDetail(@Param("applyId") Long applyId);

	List<RoomNameVo> getMeetingRoomName(@Param("area") Integer area);

	List<ListApplyStatusVo> roomStatusList(GetSituationBo bo);
}